QA: run_qa v1.6 form + ExplicitImports#60
Merged
ChrisRackauckas merged 1 commit intoJun 27, 2026
Merged
Conversation
Add a `test/qa` QA group built on SciMLTesting 1.6.0's `run_qa`, wired via the run_tests folder model (qa = (; env, body) + [QA] in test_groups.toml). The group runs Aqua (test_all), JET (auto-detected via `using JET`, test_package mode :typo), and the six ExplicitImports checks. ExplicitImports findings (explicit_imports = true), all resolved to 0 hard fail / 0 broken: - no_implicit_imports: made the four implicit names explicit in src — `using FunctionWrappers: FunctionWrappers` and `using PrecompileTools: @compile_workload, @setup_workload`. - all_qualified_accesses_are_public: ignore `Base.tail`, `FunctionWrappers.FunctionWrapper`, and `TruncatedStacktraces.@truncate_stacktrace` — long-standing core API of those modules that predates the `public` keyword. - the other four EI checks pass unmodified. Because src now explicit-imports only PrecompileTools' macros, bump the PrecompileTools compat floor to 1.1 (first self-contained-macro release) so the downgrade lane does not hit an UndefVarError on the bare module name. Aqua deps_compat surfaced a missing `Test` compat entry (Test is in [extras] without a [compat] bound); add `Test = "1"` to the root [compat]. Verified locally against released SciMLTesting 1.6.0 (no dev-from-branch): QA group 18/18 pass on Julia 1.10 (lts) and 1.11; Core 58/58; package loads and precompiles at the downgrade floors (PrecompileTools 1.1.0, FunctionWrappers 1.1.2, TruncatedStacktraces 1.1.0). Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Please ignore until reviewed by @ChrisRackauckas.
Brings this repo onto the SciMLTesting 1.6.0
run_qav1.6 form with ExplicitImports enabled, as a dedicatedtest/qaQA group wired via therun_testsfolder model (qa = (; env, body)intest/runtests.jl+[QA]intest/test_groups.toml).There was no prior
run_qa-based QA group (and no Aqua at all). The pre-existingtest/nopre/jet_tests.jlgroup does call-site type-stability checks (@test_opt/report_call) under precompile-disabled mode — a distinct concern from package-level QA — and is left untouched.QA group contents
Aqua.test_all) — all sub-checks pass; noaqua_broken, no kwarg tweaks.using JET;test_packagemode:typo, clean (0 reports). Nojet_broken.explicit_imports = true) — all six checks.ExplicitImports findings (all resolved; 0 hard FAIL, 0 BROKEN)
no_implicit_imports (4 names) — FIXED in
src/: made the four implicit names explicit:using FunctionWrappers: FunctionWrappers(module used qualified asFunctionWrappers.FunctionWrapper)using PrecompileTools: @compile_workload, @setup_workload(only the two macros are used)all_qualified_accesses_are_public (3 names) — IGNORED via
ei_kwargs(other packages /. Base non-public names, documented inqa.jl):Base.tailFunctionWrappers.FunctionWrapperTruncatedStacktraces.@truncate_stacktraceAll long-standing core API of those modules that predates the
publickeyword; drop the ignore once they mark them public.no_stale_explicit_imports,all_explicit_imports_via_owners,all_qualified_accesses_via_owners,all_explicit_imports_are_public— pass unmodified.No
ei_brokenand no tracking issue needed: every finding was either fixed in source or is an ignore of another package's non-public name.Dependency changes
1→1.1: src now explicit-imports only PrecompileTools' macros; the floor must be the first self-contained-macro release or the Downgrade lane hitsUndefVarErroron the bare module name. Verified: package loads + precompiles at PrecompileTools 1.1.0.Test = "1"added to root[compat]: Aquadeps_compat(check_extras) flaggedTestin[extras]having no compat bound (pre-existing latent issue). FIXED rather than disabling the sub-check.test/qa/Project.toml: SciMLTesting[compat]pinned to"1.6"; ExplicitImports NOT listed (transitive via SciMLTesting); Aqua + JET kept as direct deps.Verification (local, vs released SciMLTesting 1.6.0 — no dev-from-branch)
🤖 Generated with Claude Code